﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace AMS.Inventory.Entities
{
    abstract public class AbstractInventoryProperty
    {
        protected string m_AssetTypeInfo;
        protected string m_Barcode;
        protected DateTime m_CheckedDate;
        protected string m_DepartmentInfo;
        protected DateTime m_InitDate;
        protected string m_Location;
        protected string m_Manufacturers;
        protected string m_Memo;
        protected string m_ModelNumber;
        protected string m_Name;
        protected string m_NatureInfo;
        protected string m_ParentBarcode;
        protected string m_SerialNumber;
        protected string m_ShelfLife;
        protected string m_SiteInfo;
        protected string m_SizeInfo;
        protected string m_SourceInfo;
        protected DateTime m_StartUpDate;
        protected string m_StateInfo;
        protected string m_Supplier;
        protected string m_TypeName;
        protected string m_UnitInfo;
        protected string m_UsersInfo;
        protected double m_UseYears;

        /// <summary>
        /// 资产条形码
        /// </summary>
        public virtual string Barcode
        {
            get { return m_Barcode; }
            set { m_Barcode = value; }
        }


        /// <summary>
        /// 资产类型别名
        /// </summary>
        public virtual string TypeName
        {
            get { return m_TypeName; }
            set { m_TypeName = value; }
        }

        /// <summary>
        /// 资产类别信息
        /// </summary>
        public virtual string AssetTypeInfo
        {
            get { return m_AssetTypeInfo; }
            set { m_AssetTypeInfo = value; }
        }

        /// <summary>
        /// 名称
        /// </summary>
        public virtual string Name
        {
            get { return m_Name; }
            set { m_Name = value; }
        }


        /// <summary>
        /// 规格型号
        /// </summary>
        public virtual string ModelNumber
        {
            get { return m_ModelNumber; }
            set { m_ModelNumber = value; }
        }

        /// <summary>
        /// 外形尺寸
        /// </summary>
        public virtual string SizeInfo
        {
            get { return m_SizeInfo; }
            set { m_SizeInfo = value; }
        }

        /// <summary>
        /// 单位
        /// </summary>
        public virtual string UnitInfo
        {
            get { return m_UnitInfo; }
            set { m_UnitInfo = value; }
        }

        /// <summary>
        /// 地点
        /// </summary>
        public virtual string SiteInfo
        {
            get { return m_SiteInfo; }
            set { m_SiteInfo = value; }
        }

        /// <summary>
        /// 详细位置
        /// </summary>
        public virtual string Location
        {
            get { return m_Location; }
            set { m_Location = value; }
        }

        /// <summary>
        /// 资产性质
        /// </summary>
        public virtual string NatureInfo
        {
            get { return m_NatureInfo; }
            set { m_NatureInfo = value; }
        }

        /// <summary>
        /// 资产来源
        /// </summary>
        public virtual string SourceInfo
        {
            get { return m_SourceInfo; }
            set { m_SourceInfo = value; }
        }

        /// <summary>
        /// 供应商
        /// </summary>
        public virtual string Supplier
        {
            get { return m_Supplier; }
            set { m_Supplier = value; }
        }

        /// <summary>
        /// 出厂编号
        /// </summary>
        public virtual string SerialNumber
        {
            get { return m_SerialNumber; }
            set { m_SerialNumber = value; }
        }

        /// <summary>
        /// 制造商
        /// </summary>
        public virtual string Manufacturers
        {
            set { m_Manufacturers = value; }
            get { return m_Manufacturers; }
        }

        /// <summary>
        /// 保质期
        /// </summary>
        public virtual string ShelfLife
        {
            get { return m_ShelfLife; }
            set { m_ShelfLife = value; }
        }

        /// <summary>
        /// 使用年限
        /// </summary>
        public virtual double UseYears
        {
            get { return m_UseYears; }
            set { m_UseYears = value; }
        }

        /// <summary>
        /// 状态
        /// </summary>
        public virtual string StateInfo
        {
            get { return m_StateInfo; }
            set { m_StateInfo = value; }
        }

        /// <summary>
        /// 所属部门
        /// </summary>
        public virtual string DepartmentInfo
        {
            get { return m_DepartmentInfo; }
            set { m_DepartmentInfo = value; }
        }

        /// <summary>
        /// 使用人
        /// </summary>
        public virtual string UsersInfo
        {
            get { return m_UsersInfo; }
            set { m_UsersInfo = value; }
        }

        /// <summary>
        /// 验收时间
        /// </summary>
        public virtual DateTime CheckedDate
        {
            get { return m_CheckedDate; }
            set { m_CheckedDate = value; }
        }

        /// <summary>
        /// 启用时间
        /// </summary>
        public virtual DateTime StartUpDate
        {
            get { return m_StartUpDate; }
            set { m_StartUpDate = value; }
        }

        /// <summary>
        /// 父资产条形码
        /// </summary>
        public virtual string ParentBarcode
        {
            get { return m_ParentBarcode; }
            set { m_ParentBarcode = value; }
        }

        /// <summary>
        /// 备注
        /// </summary>
        public virtual string Memo
        {
            get { return m_Memo; }
            set { m_Memo = value; }
        }

        /// <summary>
        /// 初始化时间
        /// </summary>
        public virtual DateTime InitDate
        {
            get { return m_InitDate; }
            set { m_InitDate = value; }
        }

    }
}
